package com.jeff.tianti.cms.dao;

import com.jeff.tianti.common.dao.CustomBaseSqlDaoImpl;
import com.jeff.tianti.common.entity.PageModel;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.jeff.tianti.cms.entity.Media;
import com.jeff.tianti.cms.dto.MediaQueryDTO;
import org.apache.commons.lang3.StringUtils;

/**
 * @author xujianfang
 * @desc MediaDaoImpl��
 * @date 2019-07-08
 */

public class MediaDaoImpl extends CustomBaseSqlDaoImpl implements MediaDaoCustom {

    public PageModel<Media> queryMediaPage(MediaQueryDTO mediaQueryDTO) {
        Map<String, Object> map = new HashMap<String, Object>();
        StringBuilder hql = new StringBuilder();
        hql.append("select t from Media t where 1=1 ");
        if (mediaQueryDTO != null) {
            String auditFlag = mediaQueryDTO.getAuditFlag();
            if (StringUtils.isNotBlank(auditFlag) && !"-1".equals(auditFlag)) {
                hql.append(" and t.auditFlag = :auditFlag");
                map.put("auditFlag", auditFlag);
            }
            String mediaType = mediaQueryDTO.getMediaType();
            if (StringUtils.isNotBlank(mediaType) && !"-1".equals(mediaType)) {
                if (StringUtils.isNotBlank(mediaType)) {
                    hql.append(" and t.mediaType = :mediaType");
                    map.put("mediaType", mediaType);
                }
            }
        }
        return this.queryForPageWithParams(hql.toString(), map, mediaQueryDTO.getCurrentPage(), mediaQueryDTO.getPageSize());
    }




    public List<Media> queryMediaList(MediaQueryDTO mediaQueryDTO) {
        Map<String, Object> map = new HashMap<String, Object>();
        StringBuilder hql = new StringBuilder();
        hql.append("select t from Media t ");
        return this.queryByMapParams(hql.toString(), map);
    }


}